package top.infopub.mgr.sys.dao;


import java.util.List;

import org.apache.ibatis.annotations.Param;

import top.infopub.generic.GenericDao;
import top.infopub.model.sys.Rolepurview;


/** 交易系统后台角色权限分配(SYS_ROLEPURVIEW) **/
public interface RolepurviewDao extends GenericDao<Rolepurview, String> {

    /**
     * 根据角色ID删除记录
     * @param roleId
     */
    public void deleteByRoleId(String roleId);

    /**
     * 根据角色ID与clickMenu删除记录
     * @param roleId
     * @param clickMenuId 逗号分隔
     */
    public void deleteByRoleIdAndClickMenu(@Param("roleId") String roleId,
                                           @Param("clickMenuId") String clickMenuId);

    /**
     * 根据权限码Id删除记录
     * @param purIds 权限码Id数组
     * @see
     */
    public void batchDeleteByPurIds(String[] purIds);

    /**
     * 批量插入权限角色记录
     * @param rolepurviews 
     * @see
     */
    public void insertByBatch(@Param("list") List<Rolepurview> rolepurviews);

    /**
     * 查询某个角色在某个菜单下已分配的权限
     * @param roleId
     * @param clickMenuId
     * @return 
     * @see
     */
    public List<Rolepurview> selectPurviewByRoleAndMenu(@Param("roleId") String roleId,
                                                        @Param("clickMenuId") String clickMenuId);
    
    /**
     * 查询某个角色的所有菜单ID
     * @param roleId
     * @return 
     * @see
     */
    public List<String> selectMenuIdsByRoleId(String roleId);
    
}